package com.zhang.sort.cmp;


import com.zhang.sort.Sort;

/**
 * @author 张吉鑫
 * @Description 冒泡排序也叫做起泡排序
 * @date 2021/4/11 10:31
 */
public class BubbleSort extends Sort {
    /**
     * （以升序为例）
     * ① 从头开始比较每一对相邻元素，如果第1个比第2个大，就交换它们的位置
     * 执行完一轮后，最末尾那个元素就是最大的元素
     * ② 忽略 ① 中曾经找到的最大元素，重复执行步骤 ①，直到全部元素有序
     */
    @Override
    protected void sort() {
        for (int i = array.length - 1; i > 0; i--) {
            for (int j = 0; j < i; j++) {
                if (cmp(j,j + 1) > 0) {
                    swap(j, j + 1);
                }
            }
        }

    }
}
